package comm;

import java.io.Serializable;

//Mensagens enviadas do servidor para os clientes.

//Esta classe tem dois construtores um para o caso em que são enviadas mensagens de cliente para cliente (ClientMessage(String m_sender , Type m_type))
// e o outro para os outros casos em que o sender é sempre o servidor (ClientMessage(Type m_type))

// classe implementa também a interface serializable que permite que seja enviada através do socket .

public class ClientMessage implements ClientSideMessage, Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1098195703262351085L;
	private Type message_type;
	private String message_sender;
	private String message_payload;

	
	public ClientMessage(String m_sender  ,  String m_payload , Type m_type){
		this.message_sender = m_sender;
		this.message_payload = m_payload;
		this.message_type = m_type;
		
	}
	
	public ClientMessage( String m_payload , Type m_type){
		this.message_sender = ClientSideMessage.SERVER;
		this.message_payload = m_payload;
		this.message_type = m_type;
	}
	
	@Override
	public Type getType() {
		// TODO Auto-generated method stub
		return this.message_type;
	}

	@Override
	public String getSendersNickname() {
		// TODO Auto-generated method stub
		return this.message_sender;
	}

	@Override
	public String getPayload() {
		// TODO Auto-generated method stub
		return this.message_payload;
	}
	
}
